package com.soker.user.service;

import com.soker.fan.pojo.Fan;
import com.soker.user.pojo.History;
import com.soker.user.pojo.User;
import com.soker.video.pojo.Video;

import java.util.List;
import java.util.Map;

public interface UserService {
    //验证密码
    public String verifyPasswordByUsername(String username);
    //通过用户名查用户信息
    public User findUserByUsername(String username);
    //注册(添加用户)
    public void register(User user);
    //查询用户是否存在
    public boolean isExsit(String username);
    //根据用户id查询用户信息
    public User findUserById(String uid);
    //根据username查询uid
    public int findUidByUsername(String username);
    //得到对应upid对应的关注的条目数量
    public int getNumber(int upid);
    //得到upid对应的关注up
    public List<User> findAllFocus(Map map);
    //得到对应upid对应的粉丝的条目数量
    public int getNumber2(int upid);
    //得到upid对应的粉丝
    public List<User> findAllFans(Map map);
    //获得某位up的所有视频的点赞数
    public List getUpZanByid(String upid);
    //获得某位up的所有视频的播放量
    public List getUpBoByid(String upid);
    //得到upid对应的投稿的条目数量
    public int getNumber3(int upid);
    //得到upid对应的投稿
    public List<Video> findAllTouGao(Map map);
    //得到upid对应的投稿的条目数量
    public int getNumber4(int upid);
    //得到upid对应的投稿
    public List<Fan> findAllZhuiFan(Map map);
    //得到upid对应的投稿的条目数量
    public int getNumber5(int upid);
    //得到upid对应的投稿
    public List<Video> findAllCang(Map map);
    //查询当前用户的历史记录
    public List<History> findAllHisByUid(String uid);
    //删除
    public void deleteHis(Map map);
    //批量删除
    public void deleteManyHis(String uid);
    //查询当前登录用户是否关注了当前video的up
    public boolean isFans(Map map);
    //关注up
    public void focusUp(Map map);
    //取消关注
    public void cancelFocus(Map map);
    //关注数+1
    public void updateUp(String upid);
    //关注数+1
    public void updateUp2(String fansid);
    //关注数-1
    public void cancelUp(String upid);
    //关注数-1
    public void cancelUp2(String fansid);
}
